import { request } from "../request";

const token = localStorage.getItem("token");

/**
 * 分页查询用户列表接口返回结构
 */
export interface GetUserPageRes {
    code: number;
    message: string;
    data: {
        size: number;
        records: {
            id: number; // pk_id
            username: string; // 用户名
            password: string; // 密码
            email: string; // 邮箱
            avatar: string; // 头像
            gender: boolean; // 性别
            role: string; // 角色
            lastUpdate: Record<string, unknown>; // 最后更新时间
        }[];
        current: number;
        pages: number;
        total: number;
    };
    timestamp: Record<string, unknown>;
}

/**
 * 分页查询用户列表
 * @param current 页码，从1开始
 * @param size 每页大小
 * @param username 用户名（模糊查询）
 * @param email 邮箱（模糊查询）
 * @param role 角色
 * @param isActive 是否活动
 * @returns 用户分页列表
 */
export const getUserListByPageAPI = async (
    current: number,
    size: number,
    username: string,
    email: string,
    role: string,
    isActive: number
): Promise<GetUserPageRes> => {
    return request(`/api/users/page`, {
        method: "get",
        headers: {
            Authorization: `Bearer ${token}`
        },
        params: {
            current,
            size,
            username,
            email,
            role,
            isActive
        }
    });
};